package com.veetao.api.utils;

import java.util.List;

import org.apache.commons.lang3.StringUtils;

import com.google.gson.reflect.TypeToken;

public class ParamsUtils {

	// 客户端传入的参数，在转成JSON格式前，检查下其中的参数是否JSON的Object,Array,或Number 如果是的话，尝试转成合适的格式
	// 转换失败的时候，才保存成String，是为了给统计组的接口参数日志解析引擎减少工作量
	public static Object fromJson(String s) {
		try {
			if (s.startsWith("{") && s.endsWith("}")) {
				return McpUtils.gson.fromJson(s, new TypeToken<Object>() {
				}.getType());
			}
			if (s.startsWith("[") && s.endsWith("]")) {
				return McpUtils.gson.fromJson(s, new TypeToken<List<Long>>() {
				}.getType());
			}
			if (StringUtils.isNumeric(s)) {
				return McpUtils.gson.fromJson(s, new TypeToken<Long>() {
				}.getType());
			}
		} catch (Exception e) {
			return s;
			
		}
		return s;
	}
}
